package com.example.hangzhou.welbeing.mytestdemoapp.fragment;

import android.content.Context;
import android.graphics.Rect;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewCompat;
import android.transition.ChangeBounds;
import android.transition.ChangeClipBounds;
import android.transition.ChangeImageTransform;
import android.transition.TransitionManager;
import android.transition.TransitionSet;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;

import com.example.hangzhou.welbeing.mytestdemoapp.R;

import butterknife.Bind;
import butterknife.ButterKnife;
import butterknife.OnClick;

/**
 * 杭州惟君医疗科技有限公司10
 * Created by 20433 on 2018/5/9
 *
 * @desc 东风山河绿，春已不折柳，繁花看不尽，处处惹人留
 * @desc 佛祖镇楼，bug辟容易
 */

public class ChangeClipBoundsFragment extends Fragment {

    @Bind(R.id.fragment_transition_note_change_clip_bounds_button1)
    Button fragmentTransitionNoteChangeClipBoundsButton1;
    @Bind(R.id.fragment_transition_note_change_clip_bounds_iv_image)
    ImageView fragmentTransitionNoteChangeClipBoundsIvImage;
    @Bind(R.id.fragment_transition_note_change_clip_bounds_ll)
    LinearLayout fragmentTransitionNoteChangeClipBoundsLl;
    private Context mcontext;
    private boolean expanded = true;

    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
        mcontext = context;
    }

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = View.inflate(mcontext, R.layout.fragment_transition_note_change_clip_bounds, null);

        ButterKnife.bind(this, view);
        return view;
    }


    @Override
    public void onDestroyView() {
        super.onDestroyView();
        ButterKnife.unbind(this);
    }

    @OnClick({R.id.fragment_transition_note_change_clip_bounds_button1, R.id.fragment_transition_note_change_clip_bounds_iv_image})
    public void onViewClicked(View view) {
        switch (view.getId()) {
            case R.id.fragment_transition_note_change_clip_bounds_button1:



        Rect BOUNDS = new Rect(20, 20, 100, 100);
        TransitionManager.beginDelayedTransition(fragmentTransitionNoteChangeClipBoundsLl, new ChangeClipBounds());
        if (BOUNDS.equals(ViewCompat.getClipBounds(fragmentTransitionNoteChangeClipBoundsIvImage))) {
            ViewCompat.setClipBounds(fragmentTransitionNoteChangeClipBoundsIvImage, null);
        } else {
            ViewCompat.setClipBounds(fragmentTransitionNoteChangeClipBoundsIvImage, BOUNDS);
        }

                break;
            case R.id.fragment_transition_note_change_clip_bounds_iv_image:
                TransitionManager.beginDelayedTransition(fragmentTransitionNoteChangeClipBoundsLl,new TransitionSet()
                        .addTransition(new ChangeBounds())
                        .addTransition(new ChangeImageTransform()));
                ViewGroup.LayoutParams params   = fragmentTransitionNoteChangeClipBoundsIvImage.getLayoutParams();
                params.height = expanded  ?ViewGroup.LayoutParams.MATCH_PARENT : ViewGroup.LayoutParams.WRAP_CONTENT;
                fragmentTransitionNoteChangeClipBoundsIvImage.setLayoutParams(params);
                fragmentTransitionNoteChangeClipBoundsIvImage.setScaleType(expanded  ?ImageView.ScaleType.CENTER_CROP : ImageView.ScaleType.FIT_CENTER);
                expanded = !expanded;
                break;
        }
    }
}
